#include "informe.h"
#include "manejadorxmlinforme.h"

Informe::Informe()
{

}

Informe::~Informe()
{

}

bool Informe::recuperar(const QString& nombreArchivo)
{
    ManejadorXmlInforme manejadorXml;

    QFile file(nombreArchivo);
    QXmlInputSource source(&file);

    QXmlSimpleReader reader;
    reader.setContentHandler(&manejadorXml);
    reader.setErrorHandler(&manejadorXml);
    if (!reader.parse(source)) {
        return false;
    }

    NodoInforme* nodoInformeCabecera = manejadorXml.getNodoInformeCabecera();
    if (nodoInformeCabecera != NULL) {
        nodoInformeCabecera->generarElementos(&cabecera);
    }

    NodoInforme* nodoInformeCuerpo = manejadorXml.getNodoInformeCuerpo();
    if (nodoInformeCuerpo != NULL) {
        nodoInformeCuerpo->generarElementos(&cuerpo);
    }

    NodoInforme* nodoInformePie = manejadorXml.getNodoInformePie();
    if (nodoInformePie != NULL) {
        nodoInformePie->generarElementos(&pie);
    }

    
    return true;
}